home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Games of Daze
/
Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso
/
x2ftp
/
msdos
/
ai
/
tierra40
/
tierra
/
mfa
< prev
next >
Wrap
Text File
|
1992-09-07
|
7KB
|
293 lines
# Makefile_sccsid: @(#)Makefile 1.1 4/11/92
## edit the following variables to tailor this Makefile to the system
## you want to install tierra on. (hint: if your `make' complains
## about missing values for any variable that is commented out, just
## give it a null value, ie: VAR =<Return>
## Destination: set as appropriate for your system. it currently assumes
## you are building the system in a directory called /usera/tierra
#
DEST = ./
## ALmond: uncomment the following lines if you want ALmond support
# and uncomment the -DALCOMM lines for you specific machine below
#
ALCOMMDIR = /net/user/ray/al/alcomm
ALC_INCS = $(ALCOMMDIR)/mlayer.h
ALC_TOBJS = tmonitor.o
ALC_TSRCS = tmonitor.c
ALC_TINCS = tmonitor.h
# ALCLIBDIR = $(ALCOMMDIR)/src
# or (better )
ALCLIBDIR = $(HOME)/lib/$(ARCH)
ALCLIB = $(ALCLIBDIR)/libalcom.a
## Tierra: uncomment the following lines as appropriate to build tierra
#
TIERRADIR = $(DEST)
## Instruction Set: uncomment your choice of instruction sets
#
## Tom Ray's original instruction set 1
INST = 1
## OS type: uncomment the set of lines for the operating system
## and/or machine type most closely resembling yours, if you port
## tierra to a system significantly different from any of these or
## one marked "not tested", please send us any changes you needed to
## make to get it working.
#
## The -ltermcap and -lcurses are libs for the BASIC ( curses) frontend only
#
# Sun Workstations: choose Sun3 or Sun4
# other systems running Berkeley 4.2 or 4.3: choose bsd 4.3
#
# SGI Iris: choose IRIX
# AT&T SysIII: choose Sys3 (not tested)
# AT&T SysV: choose SysV (not tested)
#
# IBM RS/6000: choose RS6000
## Sun3 -------------------------------------
#
# OSFLAGS = -fswitch
# LIBS = -lm -lcurses -ltermcap
#
# or for almond ...
#
# OSFLAGS = -DALCOMM
# LIBS = -lm -lcurses -ltermcap -lalcom -lresolv
#
## Sun4 -------------------------------------
#
# OSFLAGS =
# LIBS = -lm -lcurses -ltermcap
#
# or for almond ...
#
# OSFLAGS = -DALCOMM
# LIBS = -lm -lcurses -ltermcap -lalcom -lresolv
#
## next -------------------------------------
#
# OSFLAGS =
# LIBS = -lm -lcurses -ltermcap
#
# or for almond ...
#
# OSFLAGS = -DALCOMM
# LIBS = -lm -lcurses -ltermcap -lalcom -lresolv
#
## bsd 4.3 ----------------------------------
#
# OSFLAGS =
# LIBS = -lm -lcurses -ltermcap
#
# or for almond ...
#
# OSFLAGS = -DALCOMM
# LIBS = -lm -lcurses -ltermcap -lalcom -lresolv
## IRIX -------------------------------------
# only use BSD_SIGNALS for irix < 4.0
# OSFLAGS = -D_BSD_SIGNALS
# LIBS = -lm -lsun -lcurses -ltermcap
#
# or for almond ...
#
# OSFLAGS = -DALCOMM -D_BSD_SIGNALS
# LIBS = -lm -lcurses -ltermcap -lalcom -lsun
#
## Sys3 -------------------------------------
# (untested)
# OSFLAGS = -D_BSD_SIGNALS
# LIBS = -lm -lcurses -ltermcap
#
# or for almond ...
#
# OSFLAGS = -DALCOMM -D_BSD_SIGNALS
# LIBS = -lm -lcurses -ltermcap -lalcom -lresolv
#
## SysV -------------------------------------
# (untested)
# OSFLAGS = -D_BSD_SIGNALS
# LIBS = -lm -lcurses -ltermcap
#
# or for almond ...
#
# OSFLAGS = -DALCOMM -D_BSD_SIGNALS
# LIBS = -lm -lcurses -ltermcap -lalcom -lresolv
#
## DEC 5000 -----------------------------------
#
# OSFLAGS = -D_BSD_SIGNALS
# LIBS = -lm -lcurses -ltermcap
#
# or for almond ...
#
OSFLAGS = -DALCOMM
LIBS = -lm -lcurses -ltermcap -lalcom
## RS6000 -----------------------------------
#
# OSFLAGS = -D_BSD_SIGNALS -D__TRS6000__
# LIBS = -lm -lcurses -ltermcap
#
# or for almond ...
#
# OSFLAGS = -D_BSD_SIGNALS -D__TRS6000__ -DALCOMM
# LIBS = -lm -lcurses -ltermcap -lalcom
#
##
## Optimization: set as appropriate for your compiler
## for debugging you should (usually) set this to -g
## to perform code optimization this setting is (usually) -O or -O<digit>
#
OPTIMIZ = -g
## Flags to be passed to the linker (usually cc). Add any special requirements
## for your system. this is hopefully oniform enough that there is no need
## to include all of the possibilities under the OS section. if you are using
## optimization, you may want to add -s to strip symbol tables and thus create
## a smaller binary.
#
# LDFLAGS = $(OPTIMIZ)
#
# or for almond ...
#
LDFLAGS = $(OPTIMIZ) -L$(ALCLIBDIR)
## you shouldn't have to change anything below this line.
## (if you are lucky, and the gods of technology aren't angry with you...)
# CFLAGS = -w $(OPTIMIZ) -DINST=$(INST) $(OSFLAGS)
#
# or for almond ...
#
CFLAGS = -w $(OPTIMIZ) -DINST=$(INST) $(OSFLAGS) -I$(ALCOMMDIR)/inc
EXTHDRS = /usr/include/arpa/inet.h \
/usr/include/ctype.h \
/usr/include/errno.h \
/usr/include/fcntl.h \
/usr/include/limits.h \
/usr/include/malloc.h \
/usr/include/math.h \
/usr/include/memory.h \
/usr/include/netdb.h \
/usr/include/netinet/in.h \
/usr/include/rpcsvc/ypclnt.h \
/usr/include/stdio.h \
/usr/include/stdlib.h \
/usr/include/string.h \
/usr/include/sys/errno.h \
/usr/include/sys/fcntlcom.h \
/usr/include/sys/param.h \
/usr/include/sys/signal.h \
/usr/include/sys/socket.h \
/usr/include/sys/stat.h \
/usr/include/sys/sysmacros.h \
/usr/include/sys/time.h \
/usr/include/sys/types.h \
/usr/include/time.h
HDRS = declare.h extern.h portable.h tierra.h debug.h \
trequest.h $(ALC_INCS)
CC = cc
LINKER = cc
MAKEFILE = Makefile
PROGRAM = tierra
OBJS = bookeep.o \
diskbank.o \
rambank.o \
genio.o \
parse.o \
frontend.o \
instruct.o \
memalloc.o \
memtree.o \
portable.o \
queues.o \
slicers.o \
tierra.o \
trand.o \
tsetup.o \
ttools.o \
$(ALC_TOBJS)
SRCS = bookeep.c \
diskbank.c \
rambank.c \
genio.c \
parse.c \
frontend.c \
instruct.c \
memalloc.c \
memtree.c \
portable.c \
queues.c \
slicers.c \
tierra.c \
trand.c \
tsetup.c \
ttools.c \
$(ALC_TSRCS)
ARGOBJ = arg.o arg_inc.o
all:;
@echo " "
@echo " Tierra Artificial Life system "
@echo " "
@echo " Please edit this Makefile, "
@echo " un-commenting the line(s) for your machine type / OS. "
@echo " and choice of options. "
@echo " "
@echo " Then say: "
@echo " make programs "
@echo " "
# tierra: $(OBJS)
tierra: $(OBJS) $(ALCLIB)
$(LINKER) $(LDFLAGS) $(OBJS) $(LIBS) -o tierra
$(ALCLIB):
(cd $(ALCOMMDIR)/src; make lib)
arg: $(ARGOBJ)
$(LINKER) $(LDFLAGS) $(ARGOBJ) $(LIBS) -o arg
probe:; cc -g probe.c -lm -o probe
clean:; rm -f *.o
# rm -f $(ALCOMMDIR)/*.o
depend:; mkmf -f $(MAKEFILE) PROGRAM=$(PROGRAM) DEST=$(DEST)
index:; ctags -wx $(HDRS) $(SRCS)
install: $(PROGRAM)
install -s $(PROGRAM) $(DEST)
print:; $(PRINT) $(HDRS) $(SRCS)
programs: tierra arg
tags: $(HDRS) $(SRCS); ctags $(HDRS) $(SRCS)
update: $(DEST)/$(PROGRAM)
#distrib: $(SRCS) $(HDRS) $(DOCS) arg.c Makefile
# cp $(SRCS) $(HDRS) $(DOCS) arg.c Makefile $(DEST)/src/distrib
# cd $(DEST)/src/distrib;
$(DEST)/$(PROGRAM): $(PROGRAM)
@make -f $(MAKEFILE) DEST=$(DEST) install